<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
            promise 
                是用来解决回调地狱问题的。封装一个异步操作。
                
                使用promise：需要用构造函数创建一个promise对象，这个promise构造函数
                有一个实参，是一个函数，这个函数又有两个形参，一个叫resolve，一个叫reject
                这个实参函数中我们需要 发起异步操作，并且需要异步成功的时候调用resolve，
                在异步操作失败的时候，调用reject。 
                然后就可以使用promise.then监听异步操作的成功，promsie.catch监听异步操作的失败

                本质原理 
                    本质就是一个状态机，用一个对象记录了异步操作的状态
                    创建promsie以后，promise对象就会成为 进行中
                    一旦调用resolve promise对象 就会成功成功状态
                    一旦调用rejct promise 就会成为失败状态
               
             axios，使用promise封装了ajax
             
             promsie.all 监听多个promise对象 什么时候都成功，
                    想要获取两个接口的 数据

            axios 拦截器：  请求拦截器-（发起请求以前被调用）里面 获取本地token，设置请求头的token
                            响应拦截器-（请求成功以后被调用）可以在里面处理登录过期        
        
            let http = axios.create({配置})
            http.get() post put
        
        */
    </script>

</body>

</html>